#ifndef SCAN_H
#define SCAN_H

#include <QWidget>
#include<vector>
#include<QDebug>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QListWidget>
#include <QTableWidget>
#include <QGroupBox>
#include <QPushButton>
#include <QLineEdit>
#include<QLabel>
#include<QString>
#include <QTimer>
#include<Qpainter>
#include<QPixmap>
#include <iostream>
#include<QQueue>
#include <QPropertyAnimation>

typedef struct Bus{
    int position;
    int direction;
    int status;
}bus;

typedef struct node
{
    int servise_position; //请求发生的站点号
    int servise_direction; // 0代表车内服务，1代表搭乘顺时针车的请求，2代表搭乘逆时针车的请求
    int start_time;        //记录得到需求的时间
} node;

namespace Ui {
class SCAN;
}

class SCAN : public QWidget
{
    Q_OBJECT

public:
    explicit SCAN(QWidget *parent = 0);
    ~SCAN();
    void timerEvent(QTimerEvent *event);
       void TchangArr();
       void CchangArr();
       void UchangArr();
       void paintbus();
       bool eventFilter(QObject *watched, QEvent *event);
       void DropBy(int cur_station);
       void FirstSearch();
       void shunshizhen();
       void nishizhen();
private:
    void output();
    void update();
private:
    Ui::SCAN *ui;
    bus Bus;
};

#endif // SCAN_H
